<?php
/**
* замена $_SERVER['DOCUMENT_ROOT']
*/
define( '_DOCUMENT_ROOT', $_SERVER['DOCUMENT_ROOT'] );
/**
* относительный путь до ядра сайта
*/
define( 'CORE_DIR', '/core' );
/**
* относительный путь до шаблонов сайта
*/
define( 'TMPL_DIR', '/templates' );
/**
* относительный путь до админки сайта
*/
define( 'ADMIN_DIR', '/admin' );
/**
* относительный путь до шаблонов сайта по умолчанию
*/
define( 'TMPL_DEFAULT', '/templates/spectrum' );
/**
* относительный путь до шаблонов модулей админки
*/
define( 'TMPL_ADMIN', '/admin/templates' );

/**
* относительный путь до модуля скачивания файлов из админки
*/
define( 'ADMIN_DOWNLOAD_MODULE', '/admin/downloading.php' );

define( 'DS', DIRECTORY_SEPARATOR);

$classPathes = array( '/core/', '/admin/modules/' );
$classExts = array( '.class.php', '.php' );
/**
* autoload
*
* функция автоподключения классов,
* регистрируется через spl_autoload_register('autoload');
*
* @global $classPathes массив путей к классам и 
* @global $classExts массив расширений файлов классов
* @param string $class имя класса
*/
function autoload( $class ) {
	global $classPathes, $classExts ;
	foreach( $classPathes as $path)
	foreach( $classExts as $ext){
		$fpath = _DOCUMENT_ROOT.$path.$class.$ext;
		if( is_file($fpath) ){
			include $fpath;
			break;
		}
	}
}
spl_autoload_register('autoload');

/**
* массив файлов библиотек $core_requires подключаем через foreach( ... as $fname )
*/
$core_requires= array(
	'comonfunc.php',
	'dbconfig.php',
	'dbfunc.php',
	'pageProperties.php',
);
foreach( $core_requires as $fname) require_once _DOCUMENT_ROOT.CORE_DIR.DIRECTORY_SEPARATOR.$fname;

error_reporting(E_ALL);
function debugOut(){ return 1; }

/* глобальный массив для дебаггера */
$DEBUGS = array();

session_start();

set_error_handler( "Debug::log" );
Lang::init('russian');	
//if(!empty($_REQUEST['logout'])) Auth::logout();
//if(!empty($_REQUEST['login_posted'])) Auth::authentication();
RequestControl::trigger();
Auth::checkUser();


?>